// 产品配置接口
export interface Product {
  id: number
  productCode: string
  productName: string
  keyCode: string
}

// 扫码规则配置接口
export interface ScanRuleConfig {
  pattern: string // 正则表达式字符串
  description: string // 规则描述
  enabled: boolean // 是否启用
}

// 批次设置接口
export interface BatchConfig {
  batchSize: number // 一个批次内的产品数量
  enabled: boolean // 是否启用批次模式
}

// 扫描记录接口（只保存成功的记录）
export interface ScanRecord {
  id: number
  productCode: string
  productName: string
  keyCode: string
  scanCode: string // 实际扫描的条码
  scanTime: string
  isValid: true // 永远为 true，因为只保存成功记录
  batchId?: string // 批次ID，用于标识同一批次
  isBatchSeparator?: boolean // 标记此记录是否为批次分隔行
}

// 用户接口
export interface User {
  id: number
  username: string
  role: 'admin' | 'user'
  token?: string
}

// 扫描结果接口
export interface ScanResult {
  success: boolean
  message?: string
  record?: ScanRecord
  batchInfo?: BatchInfo // 批次信息
}

// 批次信息接口
export interface BatchInfo {
  batchId: string // 批次ID
  currentCount: number // 当前批次已扫描数量
  totalCount: number // 批次总数量
  keyCode: string // 批次关键代码
  isCompleted: boolean // 批次是否已完成
}

// 远程Excel配置接口
export interface RemoteExcelConfig {
  id?: number // 可选，因为新建时不需要
  name: string
  url: string
  sheetName?: string // 可选，默认使用第一个工作表
  enabled: boolean
  lastSyncTime?: string // 可选，记录最后同步时间
} 